<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class xoshiro128f</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../boost_random/reference.html#doxygen.headers.xoshiro_8hpp" title="Header &lt;boost/random/xoshiro.hpp&gt;">
<link rel="prev" href="classboost_1_1random_1_1xor__combine__engine.html" title="Class template xor_combine_engine">
<link rel="next" href="classboost_1_1random_1_1xoshiro128mm.html" title="Class xoshiro128mm">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="classboost_1_1random_1_1xor__combine__engine.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_random/reference.html#doxygen.headers.xoshiro_8hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="classboost_1_1random_1_1xoshiro128mm.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="doxygen.headers.classboost_1_1random_1_1xoshiro128f"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class xoshiro128f</span></h2>
<p>boost::random::xoshiro128f</p>
</div>
<h2 class="refsynopsisdiv-title">Synopsis</h2>
<div class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../boost_random/reference.html#doxygen.headers.xoshiro_8hpp" title="Header &lt;boost/random/xoshiro.hpp&gt;">boost/random/xoshiro.hpp</a>&gt;

</span>
<span class="keyword">class</span> <a class="link" href="classboost_1_1random_1_1xoshiro128f.html" title="Class xoshiro128f">xoshiro128f</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>

  <span class="comment">// <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#id-1_3_32_5_6_57_1_1_1_2-bb">public member functions</a></span>
  <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint32_t</span> <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#doxygen.headers.classboost_1_1random_1_1xoshiro128f_1abcbef37343958cdc3e2c6dc24090e05d"><span class="identifier">next_int</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
  <span class="identifier">result_type</span> <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#doxygen.headers.classboost_1_1random_1_1xoshiro128f_1ae1f47741cbfb4f322e9c523a498e0dab"><span class="identifier">next</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>

  <span class="comment">// <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#id-1_3_32_5_6_57_1_1_1_3-bb">public static functions</a></span>
  <span class="keyword">static</span> <span class="keyword">constexpr</span> <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#doxygen.headers.classboost_1_1random_1_1xoshiro128f_1a66003b28c9f20f444754c150db7b204c"><span class="identifier">min</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
  <span class="keyword">static</span> <span class="keyword">constexpr</span> <a class="link" href="classboost_1_1random_1_1xoshiro128f.html#doxygen.headers.classboost_1_1random_1_1xoshiro128f_1aa192b341b057a7ca9455217c336c8b71"><span class="identifier">max</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="id-1.3.32.5.6.56.3.4"></a><h2>Description</h2>
<p>This is xoshiro128+ 1.0, our best and fastest 32-bit generator for 32-bit floating-point numbers. We suggest to use its upper bits for floating-point generation, as it is slightly faster than xoshiro128**. It passes all tests we are aware of except for linearity tests, as the lowest four bits have low linear complexity, so if low linear complexity is not considered an issue (as it is usually the case) it can be used to generate 32-bit outputs, too.</p>
<p>We suggest to use a sign test to extract a random Boolean value, and right shifts to extract subsets of bits.</p>
<p>The state must be seeded so that it is not everywhere zero. </p>
<div class="refsect2">
<a name="id-1.3.32.5.6.56.3.4.5"></a><h3>
<a name="id-1_3_32_5_6_57_1_1_1_2-bb"></a><code class="computeroutput">xoshiro128f</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uint32_t</span> <a name="doxygen.headers.classboost_1_1random_1_1xoshiro128f_1abcbef37343958cdc3e2c6dc24090e05d"></a><span class="identifier">next_int</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="identifier">result_type</span> <a name="doxygen.headers.classboost_1_1random_1_1xoshiro128f_1ae1f47741cbfb4f322e9c523a498e0dab"></a><span class="identifier">next</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2">
<a name="id-1.3.32.5.6.56.3.4.6"></a><h3>
<a name="id-1_3_32_5_6_57_1_1_1_3-bb"></a><code class="computeroutput">xoshiro128f</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">constexpr</span> <a name="doxygen.headers.classboost_1_1random_1_1xoshiro128f_1a66003b28c9f20f444754c150db7b204c"></a><span class="identifier">min</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">constexpr</span> <a name="doxygen.headers.classboost_1_1random_1_1xoshiro128f_1aa192b341b057a7ca9455217c336c8b71"></a><span class="identifier">max</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<div class="copyright-footer">Copyright © 2000-2005 Jens Maurer<br>Copyright © 2009, 2010 Steven Watanabe<br>Copyright © 2022-2025 Matt
      Borland<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="classboost_1_1random_1_1xor__combine__engine.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_random/reference.html#doxygen.headers.xoshiro_8hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="classboost_1_1random_1_1xoshiro128mm.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
